所有参考资料贴在最后。

1. 概念

架构图
Hyperledger Composer 是一个应用程序开发框架,它简化并加快了 Hyperledger Fabric 应用程序[^foot1]的创建。

它包含一组API、一种建模语言和一个编程模型,可以使用它们快速定义和部署业务网络和应用程序,使参与者能执行交易来交换资产。

Composer 编程模型以定义并部署业务网络定义为基础,它包含一个数据模型,该模型定义了业务网络中的资产、参与者和交易的名称与结构。该业务网络还指定了交易处理器函数(ES5 编写),在客户端提交交易时,这些函数会自动在一个 Hyperledger Fabric 上运行。
Composer 定义了 JavaScript API 来提交交易,并在资产注册表中创建、检索、更新和删除资产。

2.前置环境

  • Operating Systems: Ubuntu Linux 14.04 / 16.04 LTS (both 64-bit), or
    Mac OS 10.12
  • Docker Engine: Version 17.03 or higher
  • Docker-Compose: Version 1.8 or higher
  • Node: 8.9 or higher (note version 9 is not supported)
  • npm: v5.x
  • git: 2.9.x or higher
  • Python: 2.7.x
  • A code editor of your choice, we recommend VSCode.

node

LINUX环境下注意点

  1. Login as a normal user, rather than root.
  2. Do not su to root.
  3. When installing prerequisites, use curl, then unzip using sudo.
  4. Run prereqs-ubuntu.sh as a normal user. It may prompt for root
    password as some of it’s actions are required to be run as root.
  5. Do not use npm with sudo or su to root to use it.
  6. Avoid installing node globally as root.

总之尽力避免在root模式下操作。

ubuntu直接用官方bash文件完成上述依赖项的安装:

下载脚本文件

curl -O https://hyperledger.github.io/composer/prereqs-ubuntu.sh

修改权限

chmod u+x prereqs-ubuntu.sh

运行脚本文件

./prereqs-ubuntu.sh

3. 安装Hyperledger Composer开发工具

安装composer命令行包

npm install -g composer-cli

安装REST服务器生成包

npm install -g composer-rest-server

使用yeoman及composer应用框架生产包搭建应用:

npm install -g yo
npm install -g composer-rest-server

Yeoman是应用生成工具。
generator-hyperledger-composer 是Yeoman plugin。用来为业务网络创建可定制的应用。

4.通过本地Playground链接business network

npm install -g composer-playground

composer-playground

local playground

5. 安装Hyperledger Fabric v1.0

mkdir ~/fabric-tools && cd ~/fabric-tools

curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.zip

unzip fabric-dev-servers.zip

或者下载tar.gz file

mkdir ~/fabric-tools && cd ~/fabric-tools

curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz

tar xvzf fabric-dev-servers.tar.gz

6. Hyperledger Composer使用

启动Fabric(v1.0.0 ,包含一个orderer, 一个ca,两个peer)+

cd ~/fabric-tools

pull镜像到本地

./downloadFabric.sh

downloadFabric.sh

生成Fabric与Composer的连接文件

./startFabric.sh

startFabric.sh1

startFabric.sh2

startFabric.sh3

为正在运行的Hyperledger Fabric的主节点创建一个business network card。

./createPeerAdminCard.sh

createPeerAdminCard.sh1

createPeerAdminCard.sh2

停止与拆卸

cd ~/fabric-tools
./stopFabric.sh
./teardownFabric.sh

stopFabric.sh

teardownFabric.sh

5. Script 解析

script

[^foot1]:Hyperledger Fabric 应用程序是一个记录交易历史的共享的、不可变的账本;它将促进新一代的交易应用。